package com.fmm.medium;

public class KettleProblem {

    /**
     * @param x 容量为x的壶
     * @param y 容量为y的壶
     * @param target 目标容量
     * @return 是否可以得到目标容量
     * */
    public static boolean canMeasureWater(int x, int y, int target) {
        int gcd = 0;
        if (x > y) {
            gcd = gcd(x, y);
        } else {
            gcd = gcd(y, x);
        }
        // 目标是否是最大公约数的倍数
        return target % gcd == 0 && target <= x + y;
    }

    /**
     * 求两数最大公约数
     * */
    public static int gcd(int a, int b) {
        while (b != 0) {
            int temp = a % b;
            a = b;
            b = temp;
        }
        return a;
    }
}
